home *** CD-ROM | disk | FTP | other *** search
Wrap
;C-Script v5.0 ⌐ 1998 C-Team. All rights reserved. ;Configure at your own risk ;Remote protection file #max off on 1:INPUT:*:return on 1:TEXT:*:return on 1:ACTION:*:return ctcp 1:*:if ($nick != $me) { .ignore -a $nick 3 } | halt raw *:*:halt on 1:*:if ($nick != $me) { .ignore -a $nick 3 } | halt #MAX end #hackpro off on 1!:QUIT: { if (((.net isin $1) || (.com isin $1) || (.org isin $1) || (.edu isin $1) || (irc. isin $1) || (.irc isin $1)) && ((.net isin $2) || (.com isin $2) || (.org isin $2) || (.edu isin $2) || (irc. isin $2) || (.irc isin $2)) && (($3- == $null) && (/ !isin $1-))) { %i = 1 %number = $chan(0) :keeptesting if (($nick isop $chan(%i))) { set %servops [ $+ [ $chan(%i) ] ] [ $+ [ $address($nick,2) ] ] YES } inc %i if (%i > %number) halt goto keeptesting } } on @1:SERVEROP:#: { if ($level($opnick) == 7) { halt } if (%servops [ $+ [ $chan ] ] [ $+ [ $address($nick,2) ] ] == YES) { halt } else { mode $chan -o $opnick | msg $chan [HACK PROTECTION] $opnick } } on @1!:MODE:#: { if ($level($nick) == 7) halt if ((%disallowmodes isin $1-) && (%disallowmodesIsOn == On)) { if (k isin $1) { mode $chan - $+ %disallowmodes $2 } | else { mode $chan - $+ %disallowmodes } } if ((%forcemodes isin $1-) && (%forcemodesIsOn == On)) { mode $chan + $+ %forcemodes } } on @1:SERVERMODE:#: { if ((%disallowmodes isin $1-) && (%disallowmodesIsOn == On)) { if (k isin $1) { mode $chan - $+ %disallowmodes $2 } | else { mode $chan - $+ %disallowmodes } } if ((%forcemodes isin $1-) && (%forcemodesIsOn == On)) { mode $chan + $+ %forcemodes } } on @!1:BAN:#: { if ($level($nick) == 7) halt if ((%HackTopLevel == On) && (($banmask == *!*@*) || ($banmask == *!*@*.net) || ($banmask == *!*@*.com) || ($banmask == *!*@*.org) || ($banmask == *!*@*.gov))) { mode $chan -o $nick | mode $chan -b $banmask | msg $chan [HACK PROTECTION] $nick } } on @1!:DEOP:#: { if (%MassDeop == Off) halt if ($level($nick) == 7) halt %deopnick [ $+ [ $address($nick,2) ] ] = %deopnick [ $+ [ $address($nick,2) ] ] + 1 if (%deopnick [ $+ [ $address($nick,2) ] ] => %MaxDeops) { mode $chan -o $nick | ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 | kick $chan $nick | notice $chan [HACK PROTECTION] Mass Deop detected from $nick. %deopnick [ $+ [ $nick ] ] deops in less than %maxdeoptime } .timer 1 %maxdeoptime unset %deopnick [ $+ [ $address($nick,2) ] ] } #HACKpro end #invitefloodpro on on 1!:INVITE:#: { if ($level($nick) != 7 && $level($address($nick,3)) != 7) { set %tmp.ivchan $chan set %tmp.ivnick $nick echo -a $+ $clr(info2) $+ *** You have been invited to $chan by $nick (Press F3 to join, Shift-F3 to Invite-Ignore, or Ctrl-F3 to MAX-Ignore) inc %invflood [ $+ [ $nick ] ] if (%invflood [ $+ [ $nick ] ] == %invfpn) { .notice $nick Auto-Ignore for invite flooding echo -a $+ $clr(info2) $+ *** Auto-Ignoring $nick for invite flooding .ignore -iu $+ %prtigtm $nick 3 unset %invflood [ $+ [ $nick ] ] goto end } .timer837 1 %invfpt unset %invflood [ $+ [ $nick ] ] :end halt } } #INVITEfloodpro end #floodpro off on @1!:TEXT:*:#: { if ($nick !isop $chan) { .timer874 off .timer877 off if (%coltfldg == on) { if ( isin $1- || isin $1- || isin $1- || isin $1-) { set %tmp.colorftext $1- | set %colorfcodes 0 | set %colorfcodes $pls(%colorfcodes,$count(%tmp.colorftext,)) | set %colorfcodes $pls(%colorfcodes,$count(%tmp.colorftext,)) | set %colorfcodes $pls(%colorfcodes,$count(%tmp.colorftext,)) | set %colorfcodes $pls(%colorfcodes,$count(%tmp.colorftext,)) if (%colorfcodes > %clrflt) { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 | .notice $nick Please refrain from using excessive color. You used %colorfcodes control codes in that message. Max Limit of %clrflt if ($opnick($chan,0) != 1) { onotice $chan Color warning sent to $nick ( $+ %colorfcodes control codes detected) } goto end } set %colorfcodes 0 } } if (%lengthtfg == On) { if ($len($1) > %lfowlt) { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 | if ($opnick($chan,0) != 1) { onotice $chan BigMouth warning sent to $nick } | notice $nick Text Flood Detected. Max characters allowed in a word is %lfowlt (Temporary Ban) | goto end } if ($len($1-) > %lfawlt) { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 | if ($opnick($chan,0) != 1) { onotice $chan Text Flood detected from $nick } | notice $nick Text Flood Detected. Max characters Allowed is %lfawlt (Temporary Ban) | goto end } } if (%rpttg == On) { if (%repeat [ $+ [ $nick [ $+ [ $chan ] ] ] ] == $1-) { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 .notice $nick Please do not repeat yourself. You can be seen the first time. (Temporary Ban) if ($opnick($chan,0) != 1) { onotice $chan Repeat warning sent to $nick } unset %repeat [ $+ [ $nick [ $+ [ $chan ] ] ] ] goto end } set %repeat [ $+ [ $nick [ $+ [ $chan ] ] ] ] $1- .timer877 1 5 unset %repeat [ $+ [ $nick [ $+ [ $chan ] ] ] ] } if (%capskickg == On) { set %tmp.x 1 set %text $len($1-) if %text < 6 { goto ckend } :letters if %tmp.x > %text { goto kicker } if $asc($mid(%tmp.x,%text,$1-)) == $asc($upper($mid(%tmp.x,%text,$1-))) { inc %tmp.x goto letters } else { goto ckend } :kicker ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 .notice $nick Please don't Talk in all UPPER CASE, it's considered rude. (Temporary Ban) if ($opnick($chan,0) != 1) { onotice $chan CapsLock warning sent to $nick } goto end :ckend } if (%chntfldg == On) { inc %chanflood [ $+ [ $nick [ $+ [ $chan ] ] ] ] if (%chanflood [ $+ [ $nick [ $+ [ $chan ] ] ] ] == %cfllns) { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 kick $chan $nick Channel Text Flood detected unset %chanflood [ $+ [ $nick [ $+ [ $chan ] ] ] ] goto end } .timer874 1 %cfllps unset %chanflood [ $+ [ $nick [ $+ [ $chan ] ] ] ] } if (%ckickg == On) { set %ckick.wc $count(%cusswords,$chr(44)) dec %ckick.wc set %ckick.lc 1 :csklp if (%ckick.lc > %ckick.wc) { goto cskel } else { if ($gettok(%cusswords,%ckick.lc,44) isin $1-) { if (%cskickn [ $+ [ $nick ] ] == $null) { set %cskickn [ $+ [ $nick ] ] 1 | describe $chan warns $nick to watch their mouth or risk being kicked } else { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 | kick $chan $nick Watch your mouth [CUSSKICK] } } else { inc %ckick.lc | goto csklp } } :cskel } } :end } on @1!:ACTION:*:#: { if ($nick !isop $chan) { .timer874 off .timer877 off if (%coltfldg == on) { if ( isin $1- || isin $1- || isin $1- || isin $1-) { set %tmp.colorftext $1- | set %colorfcodes 0 | set %colorfcodes $pls(%colorfcodes,$count(%tmp.colorftext,)) | set %colorfcodes $pls(%colorfcodes,$count(%tmp.colorftext,)) | set %colorfcodes $pls(%colorfcodes,$count(%tmp.colorftext,)) | set %colorfcodes $pls(%colorfcodes,$count(%tmp.colorftext,)) if (%colorfcodes > %clrflt) { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 | .notice $nick Please refrain from using excessive color. You used %colorfcodes control codes in that message. Max Limit of %clrflt if ($opnick($chan,0) != 1) { onotice $chan Color warning sent to $nick ( $+ %colorfcodes control codes detected) } goto end } set %colorfcodes 0 } } if (%lengthtfg == On) { if ($len($1) > %lfowlt) { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 | if ($opnick($chan,0) != 1) { onotice $chan BigMouth warning sent to $nick } | notice $nick Text Flood Detected. Max characters allowed in a word is %lfowlt (Temporary Ban) | goto end } if ($len($1-) > %lfawlt) { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 | if ($opnick($chan,0) != 1) { onotice $chan Text Flood detected from $nick } | notice $nick Text Flood Detected. Max characters Allowed is %lfawlt (Temporary Ban) | goto end } } if (%rpttg == On) { if (%repeat [ $+ [ $nick [ $+ [ $chan ] ] ] ] == $1-) { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 .notice $nick Please do not repeat yourself! You can be seen the first time. (Temporary Ban) if ($opnick($chan,0) != 1) { onotice $chan Repeat warning sent to $nick } unset %repeat [ $+ [ $nick [ $+ [ $chan ] ] ] ] goto end } set %repeat [ $+ [ $nick [ $+ [ $chan ] ] ] ] $1- .timer877 1 5 unset %repeat [ $+ [ $nick [ $+ [ $chan ] ] ] ] } if (%capskickg == On) { set %tmp.x 1 set %text $len($1-) if %text < 6 { goto ckend } :letters if %tmp.x > %text { goto kicker } if $asc($mid(%tmp.x,%text,$1-)) == $asc($upper($mid(%tmp.x,%text,$1-))) { inc %tmp.x goto letters } else { goto ckend } :kicker ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 .notice $nick Please don't Talk in all UPPER CASE, it's considered rude. (Temporary Ban) if ($opnick($chan,0) != 1) { onotice $chan CapsLock warning sent to $nick } goto end :ckend } if (%chntfldg == On) { inc %chanflood [ $+ [ $nick [ $+ [ $chan ] ] ] ] if (%chanflood [ $+ [ $nick [ $+ [ $chan ] ] ] ] == %cfllns) { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 kick $chan $nick Channel Text Flood detected unset %chanflood [ $+ [ $nick [ $+ [ $chan ] ] ] ] goto end } .timer874 1 %cfllps unset %chanflood [ $+ [ $nick [ $+ [ $chan ] ] ] ] } if (%ckickg == On) { set %ckick.wc $count(%cusswords,$chr(44)) dec %ckick.wc set %ckick.lc 1 :csklp if (%ckick.lc > %ckick.wc) { goto cskel } else { if ($gettok(%cusswords,%ckick.lc,44) isin $1-) { if (%cskickn [ $+ [ $nick ] ] == $null) { set %cskickn [ $+ [ $nick ] ] 1 | describe $chan warns $nick to watch their mouth or risk being kicked! } else { ban -u [ $+ [ %prtbntm ] ] $chan $nick 3 | kick $chan $nick Watch your mouth! [CUSSKICK] } } else { inc %ckick.lc | goto csklp } } :cskel } } :end } #floodpro end #mfloodpro off on 1!:TEXT:*:?: { if ($level($nick) != 7 && $level($address($nick,3)) != 7) { .timer837 off .timer839 off if (%rpttg == On) { if (%repeat [ $+ [ $nick ] ] == $1-) { .ignore -pu $+ %prtigtm $nick 3 notice $nick Please do not repeat yourself. You were seen the first time. unset %repeat [ $+ [ $nick ] ] goto end } set %repeat [ $+ [ $nick ] ] $1- .timer839 1 5 unset %repeat [ $+ [ $nick ] ] } if (%chntfldg == On) { inc %msgflood [ $+ [ $nick ] ] if (%msgflood [ $+ [ $nick ] ] == %cfllns) { .notice $nick Auto-Ignore for text flooding! if (%sounds != Off) { .splay sounds\defence.wav } echo -a $+ $clr(info2) $+ *** Auto-Ignoring $nick for text flooding .ignore -pu $+ %prtigtm $nick 3 unset %msgflood [ $+ [ $nick ] ] goto end } .timer837 1 %cfllps unset %msgflood [ $+ [ $nick ] ] } if (%ckickg == On) { set %ckick.wc $count(%cusswords,$chr(44)) dec %ckick.wc set %ckick.lc 1 :csklp if (%ckick.lc > %ckick.wc) { goto cskel } else { if ($gettok(%cusswords,%ckick.lc,44) isin $1-) { if (%cskickn [ $+ [ $nick ] ] == $null) { set %cskickn [ $+ [ $nick ] ] 1 | describe $nick asks $nick to go easy on the language! } else { .ignore -pu [ $+ [ %prtigtm ] ] $nick 3 | notice $nick You have been temporarily ignored for cussing at me! } } else { inc %ckick.lc | goto csklp } } :cskel } } :end } on 1!:ACTION:*:?: { if ($level($nick) != 7 && $level($address($nick,3)) != 7) { .timer837 off .timer839 off if (%rpttg == On) { if (%repeat [ $+ [ $nick ] ] == $1-) { .ignore -pu $+ %prtigtm $nick 3 notice $nick Please do not repeat yourself. You were seen the first time. unset %repeat [ $+ [ $nick ] ] goto end } set %repeat [ $+ [ $nick ] ] $1- .timer839 1 5 unset %repeat [ $+ [ $nick ] ] } if (%chntfldg == On) { inc %msgflood [ $+ [ $nick ] ] if (%msgflood [ $+ [ $nick ] ] == %cfllns) { .notice $nick Auto-Ignore for text flooding! if (%sounds != Off) { .splay sounds\defence.wav } echo -a $+ $clr(info2) $+ *** Auto-Ignoring $nick for text flooding! .ignore -pu $+ %prtigtm $nick 3 unset %msgflood [ $+ [ $nick ] ] goto end } .timer837 1 %cfllps unset %msgflood [ $+ [ $nick ] ] } if (%ckickg == On) { set %ckick.wc $count(%cusswords,$chr(44)) dec %ckick.wc set %ckick.lc 1 :csklp if (%ckick.lc > %ckick.wc) { goto cskel } else { if ($gettok(%cusswords,%ckick.lc,44) isin $1-) { if (%cskickn [ $+ [ $nick ] ] == $null) { set %cskickn [ $+ [ $nick ] ] 1 | describe $nick asks $nick to go easy on the language! } else { .ignore -pu [ $+ [ %prtigtm ] ] $nick 3 | notice $nick You have been temporarily ignored for cussing at me! } } else { inc %ckick.lc | goto csklp } } :cskel } } :end } #mfloodpro end #nfloodpro off on 1!:NOTICE:*:* { if ($level($nick) != 7 && $level($address($nick,3)) != 7) { .timer637 off .timer639 off if (%rpttg == On) { if (%repeat [ $+ [ $nick ] ] == $1-) { ignore -nu $+ %prtigtm $nick 3 notice $nick Please do not repeat yourself. You were seen the first time. unset %repeat [ $+ [ $nick ] ] goto end } set %repeat [ $+ [ $nick ] ] $1- .timer639 1 5 unset %repeat [ $+ [ $nick ] ] } if (%chntfldg == On) { inc %notflood [ $+ [ $nick ] ] if (%notflood [ $+ [ $nick ] ] == %cfllns) { .notice $nick Auto-Ignore for text flooding! if (%sounds != Off) { .splay sounds\defence.wav } echo -a $+ $clr(info2) $+ *** Auto-Ignoring $nick for text flooding .ignore -nu $+ %prtigtm $nick 3 unset %notflood [ $+ [ $nick ] ] goto end } .timer637 1 %cfllps unset %notflood [ $+ [ $nick ] ] } if (%ckickg == On) { set %ckick.wc $count(%cusswords,$chr(44)) dec %ckick.wc set %ckick.lc 1 :csklp if (%ckick.lc > %ckick.wc) { goto cskel } else { if ($gettok(%cusswords,%ckick.lc,44) isin $1-) { if (%cskickn [ $+ [ $nick ] ] == $null) { set %cskickn [ $+ [ $nick ] ] 1 | notice $nick Please go easy on the language! } else { .ignore -nu [ $+ [ %prtigtm ] ] $nick 3 | notice $nick You have been temporarily ignored for cussing at me! } } else { inc %ckick.lc | goto csklp } } :cskel } } :end } #nfloodpro end ;Nickflood prot thanks to Poolshark's SharkAttack Addon #nkfloodpro on on 1!:NICK: { if ($level($address($newnick,3)) != 7) { .timer659 off inc %nickfld [ $+ [ $address($newnick,2) ] ] 1 | .timer659 1 %nfltmn unset %nickfld [ $+ [ $address($newnick,2) ] ] if %nickfld [ $+ [ $address($newnick,2) ] ] == %nflnm { set %nc 1 | goto nf } if (%ckickg == On) { set %ckick.wc $count(%cusswords,$chr(44)) dec %ckick.wc set %ckick.lc 1 set %nc2 1 :csklp if (%ckick.lc > %ckick.wc) { goto cskel } else { if ($gettok(%cusswords,%ckick.lc,44) isin $address($newnick,5)) { :nf2 if %nc2 > $comchan($newnick,0) { goto end } if $me isop $comchan($newnick,%nc2) { goto kb2 } inc %nc2 1 goto nf2 :kb2 ban -u [ $+ [ %prtbntm ] ] $comchan($newnick,%nc2) $newnick 3 kick $comchan($newnick,%nc2) $newnick Addresses/Nicks with foul language in them are not permitted. Change it. (Temporary Ban) inc %nc2 1 goto nf2 :end2 } else { inc %ckick.lc | goto csklp } } :cskel } goto end :nf if %nc > $comchan($newnick,0) { goto end } if $me isop $comchan($newnick,%nc) { goto kb } inc %nc 1 goto nf :kb ban -u [ $+ [ %prtbntm ] ] $comchan($newnick,%nc) $newnick 3 kick $comchan($newnick,%nc) $newnick Nick Flood detected inc %nc 1 goto nf :end unset %nc } } #nkfloodpro end #addpro on on @1!:JOIN:#: { set %ckick.wc $count(%cusswords,$chr(44)) dec %ckick.wc set %ckick.lc 1 set %nc2 1 :csklp if (%ckick.lc > %ckick.wc) { goto cskel } else { if ($gettok(%cusswords,%ckick.lc,44) isin $address($nick,5)) { :nf2 if %nc2 > $comchan($nick,0) { goto cskel } if $me isop $comchan($nick,%nc2) { goto kb2 } inc %nc2 1 goto nf2 :kb2 ban -u [ $+ [ %prtbntm ] ] $comchan($nick,%nc2) $nick 3 kick $comchan($nick,%nc2) $nick Addresses/Nicks with foul language in them are not permitted. Change it. (Temporary Ban) inc %nc2 1 goto nf2 :end2 } else { inc %ckick.lc | goto csklp } } :cskel } #addpro end #ctcppro on ctcp 1!:* { if ($level($nick) != 7 && $level($address($nick,3)) != 7) { .timer692 off .timer872 off if (%crepeat [ $+ [ $nick [ $+ [ $1 ] ] ] ] == $1-) { .ignore -tu $+ %prtigtm $nick 3 .notice $nick Please do not repeat CTCPs. You were seen the first time. (Temporary Ignore) unset %repeat [ $+ [ $nick [ $+ [ $1 ] ] ] ] goto end } set %repeat [ $+ [ $nick [ $+ [ $1 ] ] ] ] $1- .timer872 1 5 unset %repeat [ $+ [ $nick [ $+ [ $1 ] ] ] ] inc %ctcpflood [ $+ [ $nick ] ] if (%ctcpflood [ $+ [ $nick ] ] == %cfldn) { .notice $nick Auto-Ignore for CTCP flooding if (%sounds != Off) { .splay sounds\defence.wav } echo -a $+ $clr(info2) $+ *** $nick was ignored for CTCP flooding .ignore -tu $+ %prtigtm $nick 3 unset %ctcpflood [ $+ [ $nick ] ] goto end } .timer692 1 %cfldt unset %ctcpflood [ $+ [ $nick ] ] :end } } #ctcppro end